package com.jelly.web.modules.system.permission.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PermissionExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PermissionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPerIdIsNull() {
            addCriterion("per_id is null");
            return (Criteria) this;
        }

        public Criteria andPerIdIsNotNull() {
            addCriterion("per_id is not null");
            return (Criteria) this;
        }

        public Criteria andPerIdEqualTo(String value) {
            addCriterion("per_id =", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdNotEqualTo(String value) {
            addCriterion("per_id <>", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdGreaterThan(String value) {
            addCriterion("per_id >", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdGreaterThanOrEqualTo(String value) {
            addCriterion("per_id >=", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdLessThan(String value) {
            addCriterion("per_id <", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdLessThanOrEqualTo(String value) {
            addCriterion("per_id <=", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdLike(String value) {
            addCriterion("per_id like", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdNotLike(String value) {
            addCriterion("per_id not like", value, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdIn(List<String> values) {
            addCriterion("per_id in", values, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdNotIn(List<String> values) {
            addCriterion("per_id not in", values, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdBetween(String value1, String value2) {
            addCriterion("per_id between", value1, value2, "perId");
            return (Criteria) this;
        }

        public Criteria andPerIdNotBetween(String value1, String value2) {
            addCriterion("per_id not between", value1, value2, "perId");
            return (Criteria) this;
        }

        public Criteria andPerNameIsNull() {
            addCriterion("per_name is null");
            return (Criteria) this;
        }

        public Criteria andPerNameIsNotNull() {
            addCriterion("per_name is not null");
            return (Criteria) this;
        }

        public Criteria andPerNameEqualTo(String value) {
            addCriterion("per_name =", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameNotEqualTo(String value) {
            addCriterion("per_name <>", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameGreaterThan(String value) {
            addCriterion("per_name >", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameGreaterThanOrEqualTo(String value) {
            addCriterion("per_name >=", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameLessThan(String value) {
            addCriterion("per_name <", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameLessThanOrEqualTo(String value) {
            addCriterion("per_name <=", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameLike(String value) {
            addCriterion("per_name like", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameNotLike(String value) {
            addCriterion("per_name not like", value, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameIn(List<String> values) {
            addCriterion("per_name in", values, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameNotIn(List<String> values) {
            addCriterion("per_name not in", values, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameBetween(String value1, String value2) {
            addCriterion("per_name between", value1, value2, "perName");
            return (Criteria) this;
        }

        public Criteria andPerNameNotBetween(String value1, String value2) {
            addCriterion("per_name not between", value1, value2, "perName");
            return (Criteria) this;
        }

        public Criteria andPerRouteIsNull() {
            addCriterion("per_route is null");
            return (Criteria) this;
        }

        public Criteria andPerRouteIsNotNull() {
            addCriterion("per_route is not null");
            return (Criteria) this;
        }

        public Criteria andPerRouteEqualTo(String value) {
            addCriterion("per_route =", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteNotEqualTo(String value) {
            addCriterion("per_route <>", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteGreaterThan(String value) {
            addCriterion("per_route >", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteGreaterThanOrEqualTo(String value) {
            addCriterion("per_route >=", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteLessThan(String value) {
            addCriterion("per_route <", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteLessThanOrEqualTo(String value) {
            addCriterion("per_route <=", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteLike(String value) {
            addCriterion("per_route like", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteNotLike(String value) {
            addCriterion("per_route not like", value, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteIn(List<String> values) {
            addCriterion("per_route in", values, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteNotIn(List<String> values) {
            addCriterion("per_route not in", values, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteBetween(String value1, String value2) {
            addCriterion("per_route between", value1, value2, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerRouteNotBetween(String value1, String value2) {
            addCriterion("per_route not between", value1, value2, "perRoute");
            return (Criteria) this;
        }

        public Criteria andPerIconIsNull() {
            addCriterion("per_icon is null");
            return (Criteria) this;
        }

        public Criteria andPerIconIsNotNull() {
            addCriterion("per_icon is not null");
            return (Criteria) this;
        }

        public Criteria andPerIconEqualTo(String value) {
            addCriterion("per_icon =", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconNotEqualTo(String value) {
            addCriterion("per_icon <>", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconGreaterThan(String value) {
            addCriterion("per_icon >", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconGreaterThanOrEqualTo(String value) {
            addCriterion("per_icon >=", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconLessThan(String value) {
            addCriterion("per_icon <", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconLessThanOrEqualTo(String value) {
            addCriterion("per_icon <=", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconLike(String value) {
            addCriterion("per_icon like", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconNotLike(String value) {
            addCriterion("per_icon not like", value, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconIn(List<String> values) {
            addCriterion("per_icon in", values, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconNotIn(List<String> values) {
            addCriterion("per_icon not in", values, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconBetween(String value1, String value2) {
            addCriterion("per_icon between", value1, value2, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerIconNotBetween(String value1, String value2) {
            addCriterion("per_icon not between", value1, value2, "perIcon");
            return (Criteria) this;
        }

        public Criteria andPerHrefIsNull() {
            addCriterion("per_href is null");
            return (Criteria) this;
        }

        public Criteria andPerHrefIsNotNull() {
            addCriterion("per_href is not null");
            return (Criteria) this;
        }

        public Criteria andPerHrefEqualTo(String value) {
            addCriterion("per_href =", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefNotEqualTo(String value) {
            addCriterion("per_href <>", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefGreaterThan(String value) {
            addCriterion("per_href >", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefGreaterThanOrEqualTo(String value) {
            addCriterion("per_href >=", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefLessThan(String value) {
            addCriterion("per_href <", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefLessThanOrEqualTo(String value) {
            addCriterion("per_href <=", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefLike(String value) {
            addCriterion("per_href like", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefNotLike(String value) {
            addCriterion("per_href not like", value, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefIn(List<String> values) {
            addCriterion("per_href in", values, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefNotIn(List<String> values) {
            addCriterion("per_href not in", values, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefBetween(String value1, String value2) {
            addCriterion("per_href between", value1, value2, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerHrefNotBetween(String value1, String value2) {
            addCriterion("per_href not between", value1, value2, "perHref");
            return (Criteria) this;
        }

        public Criteria andPerClassIsNull() {
            addCriterion("per_class is null");
            return (Criteria) this;
        }

        public Criteria andPerClassIsNotNull() {
            addCriterion("per_class is not null");
            return (Criteria) this;
        }

        public Criteria andPerClassEqualTo(String value) {
            addCriterion("per_class =", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassNotEqualTo(String value) {
            addCriterion("per_class <>", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassGreaterThan(String value) {
            addCriterion("per_class >", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassGreaterThanOrEqualTo(String value) {
            addCriterion("per_class >=", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassLessThan(String value) {
            addCriterion("per_class <", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassLessThanOrEqualTo(String value) {
            addCriterion("per_class <=", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassLike(String value) {
            addCriterion("per_class like", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassNotLike(String value) {
            addCriterion("per_class not like", value, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassIn(List<String> values) {
            addCriterion("per_class in", values, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassNotIn(List<String> values) {
            addCriterion("per_class not in", values, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassBetween(String value1, String value2) {
            addCriterion("per_class between", value1, value2, "perClass");
            return (Criteria) this;
        }

        public Criteria andPerClassNotBetween(String value1, String value2) {
            addCriterion("per_class not between", value1, value2, "perClass");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNull() {
            addCriterion("parent_id is null");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNotNull() {
            addCriterion("parent_id is not null");
            return (Criteria) this;
        }

        public Criteria andParentIdEqualTo(String value) {
            addCriterion("parent_id =", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotEqualTo(String value) {
            addCriterion("parent_id <>", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThan(String value) {
            addCriterion("parent_id >", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(String value) {
            addCriterion("parent_id >=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThan(String value) {
            addCriterion("parent_id <", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThanOrEqualTo(String value) {
            addCriterion("parent_id <=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLike(String value) {
            addCriterion("parent_id like", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotLike(String value) {
            addCriterion("parent_id not like", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdIn(List<String> values) {
            addCriterion("parent_id in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotIn(List<String> values) {
            addCriterion("parent_id not in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdBetween(String value1, String value2) {
            addCriterion("parent_id between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotBetween(String value1, String value2) {
            addCriterion("parent_id not between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andStortIsNull() {
            addCriterion("stort is null");
            return (Criteria) this;
        }

        public Criteria andStortIsNotNull() {
            addCriterion("stort is not null");
            return (Criteria) this;
        }

        public Criteria andStortEqualTo(Integer value) {
            addCriterion("stort =", value, "stort");
            return (Criteria) this;
        }

        public Criteria andStortNotEqualTo(Integer value) {
            addCriterion("stort <>", value, "stort");
            return (Criteria) this;
        }

        public Criteria andStortGreaterThan(Integer value) {
            addCriterion("stort >", value, "stort");
            return (Criteria) this;
        }

        public Criteria andStortGreaterThanOrEqualTo(Integer value) {
            addCriterion("stort >=", value, "stort");
            return (Criteria) this;
        }

        public Criteria andStortLessThan(Integer value) {
            addCriterion("stort <", value, "stort");
            return (Criteria) this;
        }

        public Criteria andStortLessThanOrEqualTo(Integer value) {
            addCriterion("stort <=", value, "stort");
            return (Criteria) this;
        }

        public Criteria andStortIn(List<Integer> values) {
            addCriterion("stort in", values, "stort");
            return (Criteria) this;
        }

        public Criteria andStortNotIn(List<Integer> values) {
            addCriterion("stort not in", values, "stort");
            return (Criteria) this;
        }

        public Criteria andStortBetween(Integer value1, Integer value2) {
            addCriterion("stort between", value1, value2, "stort");
            return (Criteria) this;
        }

        public Criteria andStortNotBetween(Integer value1, Integer value2) {
            addCriterion("stort not between", value1, value2, "stort");
            return (Criteria) this;
        }

        public Criteria andIsStateIsNull() {
            addCriterion("is_state is null");
            return (Criteria) this;
        }

        public Criteria andIsStateIsNotNull() {
            addCriterion("is_state is not null");
            return (Criteria) this;
        }

        public Criteria andIsStateEqualTo(String value) {
            addCriterion("is_state =", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateNotEqualTo(String value) {
            addCriterion("is_state <>", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateGreaterThan(String value) {
            addCriterion("is_state >", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateGreaterThanOrEqualTo(String value) {
            addCriterion("is_state >=", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateLessThan(String value) {
            addCriterion("is_state <", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateLessThanOrEqualTo(String value) {
            addCriterion("is_state <=", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateLike(String value) {
            addCriterion("is_state like", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateNotLike(String value) {
            addCriterion("is_state not like", value, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateIn(List<String> values) {
            addCriterion("is_state in", values, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateNotIn(List<String> values) {
            addCriterion("is_state not in", values, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateBetween(String value1, String value2) {
            addCriterion("is_state between", value1, value2, "isState");
            return (Criteria) this;
        }

        public Criteria andIsStateNotBetween(String value1, String value2) {
            addCriterion("is_state not between", value1, value2, "isState");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(String value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(String value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(String value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(String value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(String value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(String value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLike(String value) {
            addCriterion("type like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotLike(String value) {
            addCriterion("type not like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<String> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<String> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(String value1, String value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(String value1, String value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andEventTypeIsNull() {
            addCriterion("event_type is null");
            return (Criteria) this;
        }

        public Criteria andEventTypeIsNotNull() {
            addCriterion("event_type is not null");
            return (Criteria) this;
        }

        public Criteria andEventTypeEqualTo(String value) {
            addCriterion("event_type =", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeNotEqualTo(String value) {
            addCriterion("event_type <>", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeGreaterThan(String value) {
            addCriterion("event_type >", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeGreaterThanOrEqualTo(String value) {
            addCriterion("event_type >=", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeLessThan(String value) {
            addCriterion("event_type <", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeLessThanOrEqualTo(String value) {
            addCriterion("event_type <=", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeLike(String value) {
            addCriterion("event_type like", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeNotLike(String value) {
            addCriterion("event_type not like", value, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeIn(List<String> values) {
            addCriterion("event_type in", values, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeNotIn(List<String> values) {
            addCriterion("event_type not in", values, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeBetween(String value1, String value2) {
            addCriterion("event_type between", value1, value2, "eventType");
            return (Criteria) this;
        }

        public Criteria andEventTypeNotBetween(String value1, String value2) {
            addCriterion("event_type not between", value1, value2, "eventType");
            return (Criteria) this;
        }

        public Criteria andAddIdIsNull() {
            addCriterion("add_id is null");
            return (Criteria) this;
        }

        public Criteria andAddIdIsNotNull() {
            addCriterion("add_id is not null");
            return (Criteria) this;
        }

        public Criteria andAddIdEqualTo(String value) {
            addCriterion("add_id =", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdNotEqualTo(String value) {
            addCriterion("add_id <>", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdGreaterThan(String value) {
            addCriterion("add_id >", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdGreaterThanOrEqualTo(String value) {
            addCriterion("add_id >=", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdLessThan(String value) {
            addCriterion("add_id <", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdLessThanOrEqualTo(String value) {
            addCriterion("add_id <=", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdLike(String value) {
            addCriterion("add_id like", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdNotLike(String value) {
            addCriterion("add_id not like", value, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdIn(List<String> values) {
            addCriterion("add_id in", values, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdNotIn(List<String> values) {
            addCriterion("add_id not in", values, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdBetween(String value1, String value2) {
            addCriterion("add_id between", value1, value2, "addId");
            return (Criteria) this;
        }

        public Criteria andAddIdNotBetween(String value1, String value2) {
            addCriterion("add_id not between", value1, value2, "addId");
            return (Criteria) this;
        }

        public Criteria andAddDateIsNull() {
            addCriterion("add_date is null");
            return (Criteria) this;
        }

        public Criteria andAddDateIsNotNull() {
            addCriterion("add_date is not null");
            return (Criteria) this;
        }

        public Criteria andAddDateEqualTo(Date value) {
            addCriterion("add_date =", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotEqualTo(Date value) {
            addCriterion("add_date <>", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateGreaterThan(Date value) {
            addCriterion("add_date >", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateGreaterThanOrEqualTo(Date value) {
            addCriterion("add_date >=", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateLessThan(Date value) {
            addCriterion("add_date <", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateLessThanOrEqualTo(Date value) {
            addCriterion("add_date <=", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateIn(List<Date> values) {
            addCriterion("add_date in", values, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotIn(List<Date> values) {
            addCriterion("add_date not in", values, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateBetween(Date value1, Date value2) {
            addCriterion("add_date between", value1, value2, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotBetween(Date value1, Date value2) {
            addCriterion("add_date not between", value1, value2, "addDate");
            return (Criteria) this;
        }

        public Criteria andUpdateIdIsNull() {
            addCriterion("update_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdateIdIsNotNull() {
            addCriterion("update_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateIdEqualTo(String value) {
            addCriterion("update_id =", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdNotEqualTo(String value) {
            addCriterion("update_id <>", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdGreaterThan(String value) {
            addCriterion("update_id >", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdGreaterThanOrEqualTo(String value) {
            addCriterion("update_id >=", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdLessThan(String value) {
            addCriterion("update_id <", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdLessThanOrEqualTo(String value) {
            addCriterion("update_id <=", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdLike(String value) {
            addCriterion("update_id like", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdNotLike(String value) {
            addCriterion("update_id not like", value, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdIn(List<String> values) {
            addCriterion("update_id in", values, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdNotIn(List<String> values) {
            addCriterion("update_id not in", values, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdBetween(String value1, String value2) {
            addCriterion("update_id between", value1, value2, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateIdNotBetween(String value1, String value2) {
            addCriterion("update_id not between", value1, value2, "updateId");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}